<?php
/*
 *      form.php
 *      
 *      Copyright 2011 Vitaliy Rakitin <virak@ukr.net>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */
require_once("edit.php");

class component {
	
	protected $uuid;
	protected $name;
	
	function __construct() {
		$_SESSION["components"][$this->uuid] = &$this;
	}
	
	function sendmessage($receiver, $message, $param1, $param2) {
		foreach($_SESSION["hooks"][$receiver][$message] as $key=>$callback) {
			$_SESSION["components"][$key]->{$callback}( $param1, $param2);
		}
		$_SESSION["components"][$receiver]->getmessage($this->uuid, $message, $param1, $param2);
		//echo "<pre>".print_r($_SESSION,1)."</pre>";
	}
	
	function getmessage($sender, $message, $param1, $param2) {
		
	}
	
	function addhook($uuid, $message, $callback) {
		$_SESSION["hooks"][$uuid][$message][$this->uuid] = $callback;
	}
}
